iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
Modern Web

前端幼鳥三十天養成記系列 第 25

閉包 跟 scope chain

  • 分享至 

  • xImage
  •  

人腦編譯器 來一遍1

var a=1;
function outerFun(){
    let b=2;
    function innerFun(){
        let c=3;
        console.log(b)
    }
    return innerFun;
}

var fun=outerFun();
fun();       

.
.
.
.
.
.
.
fun()得到個2,沒啥好新奇的,接招

人腦編譯器 來一遍2

var a=1;
function outerFun(){
    let b=2;
    function addb(){
        b++
        return b;
    }
    return addb;
}

var addB=outerFun();
console.log(addB());       //3
console.log(addB());       //4
console.log(addB());       //5

雖然這是個很典型的閉包,但第一次看到閉包的我是矇了的。怎麼就還累加了呢??


上一篇
在全域宣告的let
下一篇
預編譯:函數聲明 vs 函數表達式
系列文
前端幼鳥三十天養成記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言